package service.impl;/*
 *徐韬
 *2021/9/21
 *12:44
 */

import Dao.EmpDao;
import Dao.impl.EmpDaoimpl;
import Util.DruidUitl;
import Util.Page;
import com.alibaba.druid.support.spring.DruidNativeJdbcExtractor;
import entity.Emp;
import org.apache.commons.dbutils.QueryRunner;
import service.EmpService;

import java.util.List;

public class EmpServiceimpl implements EmpService {
    EmpDao empDao = new EmpDaoimpl();

    @Override
    public List<Emp> showAllEmp() {

        List<Emp> empList = empDao.selectAll();
        DruidUitl.close();
        return empList;

    }

    @Override
    public List<Emp> showAllEmp(Page page) {

        List<Emp> empList = null;
        empList= empDao.selectAllByPage(page);
        Long totalcount = empDao.selectcount();
        page.setTotalcount(totalcount);
        DruidUitl.close();
        return empList;

    }

    @Override
    public int addEmp(Emp emp) {
        int reslut = 0;
        try {
            DruidUitl.begin();
            reslut = empDao.insert(emp);
            DruidUitl.comit();
        } catch (Exception e) {
            e.printStackTrace();
            DruidUitl.rollback();
        } finally {
            DruidUitl.close();
        }
        return  reslut;
    }

    @Override
    public Emp showEmp(Integer id) {
        Emp emp = null;
        emp = empDao.select(id);
        DruidUitl.close();
        return emp;
    }

    @Override
    public int updateEmp(Emp emp) {
        int reslut = 0;
        try {
            DruidUitl.begin();
            reslut=empDao.update(emp);
            DruidUitl.comit();
        } catch (Exception e) {
            e.printStackTrace();
            DruidUitl.rollback();
        } finally {

        DruidUitl.close();
        }
        return reslut;

    }

    @Override
    public int deleteEmp(Integer id) {
        int reslut=0;
        try {
            DruidUitl.begin();
            reslut = empDao.delete(id);
            DruidUitl.comit();
        } catch (Exception e) {
            e.printStackTrace();
            DruidUitl.rollback();
        } finally {
            DruidUitl.close();
        }
        return reslut;
    }
}
